home *** CD-ROM | disk | FTP | other *** search
-
- --
- -- SQL Server 7.0/2000 Schema for Sandra Report
- --
- -- Database is assumed to have been created already.
- -- No size settings included, please add as required.
- --
- -- Copyright 1995-2004, C. A. Silasi, SiSoftware.
- -- All Rights Reserved.
- --
-
- --USE Sandra;
-
- --
- -- Kill all tables
- --
-
- IF exists(select * from sysobjects where id = object_id('TItem') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TItem;
-
- IF exists(select * from sysobjects where id = object_id('TItemGroup') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TItemGroup;
-
- IF exists(select * from sysobjects where id = object_id('TDevice') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TDevice;
-
- IF exists(select * from sysobjects where id = object_id('TClass') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TClass;
-
- IF exists(select * from sysobjects where id = object_id('TModule') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TModule;
-
- IF exists(select * from sysobjects where id = object_id('TReport') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TReport;
-
- IF exists(select * from sysobjects where id = object_id('TIDCount') and OBJECTPROPERTY(id, 'IsTable') = 1)
- DROP TABLE TIDCount;
-
- --
- -- Create new tables
- --
-
- CREATE TABLE TReport (
- ID INT IDENTITY (1,1),
- ProgramName VARCHAR(255),
- ProgramVersion VARCHAR(255),
- RegisteredUser VARCHAR(255),
- RegisteredCompany VARCHAR(255),
- LicenceStatus VARCHAR(255),
- LicenceExtra VARCHAR(255),
- UserID VARCHAR(255),
- HostName VARCHAR(255),
- SystemID VARCHAR(255),
- WebUserID VARCHAR(255),
- RunID VARCHAR(255),
- RunDate DATETIME,
- Completed BIT NOT NULL,
-
- CONSTRAINT cnstRIID PRIMARY KEY(ID)
- );
-
- CREATE TABLE TModule (
- ID INT IDENTITY (1,1),
- ReportID INT NOT NULL,
- Name VARCHAR(255) NOT NULL,
- TypeID INT NOT NULL,
- HasClass BIT NOT NULL,
- HasDevice BIT NOT NULL,
- HelpID INT NOT NULL,
-
- CONSTRAINT cnstMIID PRIMARY KEY(ID),
- CONSTRAINT cnstMRID FOREIGN KEY(ReportID) REFERENCES TReport(ID)
- );
-
- CREATE TABLE TClass (
- ID INT IDENTITY (1,1),
- ModuleID INT NOT NULL,
- Name VARCHAR(255) NOT NULL,
- TypeID INT NOT NULL,
- HelpID INT NOT NULL,
-
- CONSTRAINT cnstCIID PRIMARY KEY(ID),
- CONSTRAINT cnstCMID FOREIGN KEY(ModuleID) REFERENCES TModule(ID)
- );
-
- CREATE TABLE TDevice (
- ID INT IDENTITY (1,1),
- ModuleID INT NOT NULL,
- ClassID INT,
- Name VARCHAR(255) NOT NULL,
- TypeID INT NOT NULL,
- HelpID INT NOT NULL,
-
- CONSTRAINT cnstDIID PRIMARY KEY(ID),
- CONSTRAINT cnstDMID FOREIGN KEY(ModuleID) REFERENCES TModule(ID)
- );
-
- CREATE TABLE TItemGroup (
- ID INT IDENTITY (1,1),
- ModuleID INT NOT NULL,
- ClassID INT,
- DeviceID INT,
- Name VARCHAR(255) NOT NULL,
- TypeID INT NOT NULL,
- HelpID INT NOT NULL,
-
- CONSTRAINT cnstGIID PRIMARY KEY(ID),
- CONSTRAINT cnstGMID FOREIGN KEY(ModuleID) REFERENCES TModule(ID)
- );
-
- CREATE TABLE TItem (
- ID INT IDENTITY (1,1),
- ModuleID INT NOT NULL,
- GroupID INT,
- Name VARCHAR(255) NOT NULL,
- DataValue VARCHAR(255),
- IconID INT NOT NULL,
- TypeID INT NOT NULL,
- HelpID INT NOT NULL,
-
- CONSTRAINT cnstIIID PRIMARY KEY(ID),
- CONSTRAINT cnstIMID FOREIGN KEY(ModuleID) REFERENCES TModule(ID)
- );
-
- CREATE TABLE TIDCount (
- TableName VARCHAR(10) PRIMARY KEY,
- CurrentID INT NOT NULL
- );
-
- --
- -- Set-up keys/indexes
- --
-
- CREATE INDEX ndxUserID ON TReport (UserID);
-
- CREATE INDEX ndxSystemID ON TReport (SystemID);
-
- CREATE INDEX ndxWebUserID ON TReport (WebUserID);
-
- CREATE INDEX ndxModuleName ON TModule (Name);
-
- CREATE INDEX ndxItemName ON TItem (Name);
-
- --
- -- Inserts
- --
-
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TItem', 1);
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TItemGroup', 1);
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TDevice', 1);
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TClass', 1);
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TModule', 1);
- INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TReport', 1);
-
-